package cn.iocoder.yudao.module.carbon.convert.accountboundary;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.carbon.api.accountboundary.dto.AccountBoundaryRespDTO;
import cn.iocoder.yudao.module.carbon.controller.admin.accountboundary.vo.AccountBoundaryCreateReqVO;
import cn.iocoder.yudao.module.carbon.controller.admin.accountboundary.vo.AccountBoundaryExcelVO;
import cn.iocoder.yudao.module.carbon.controller.admin.accountboundary.vo.AccountBoundaryRespVO;
import cn.iocoder.yudao.module.carbon.controller.admin.accountboundary.vo.AccountBoundaryUpdateReqVO;
import cn.iocoder.yudao.module.carbon.dal.dataobject.accountboundary.AccountBoundaryDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 核算边界 Convert
 *
 * @author StevenShen
 */
@Mapper
public interface AccountBoundaryConvert {

    AccountBoundaryConvert INSTANCE = Mappers.getMapper(AccountBoundaryConvert.class);

    AccountBoundaryDO convert(AccountBoundaryCreateReqVO bean);

    AccountBoundaryDO convert(AccountBoundaryUpdateReqVO bean);

    AccountBoundaryRespVO convert(AccountBoundaryDO bean);

    AccountBoundaryRespDTO convert02(AccountBoundaryDO bean);

    List<AccountBoundaryRespVO> convertList(List<AccountBoundaryDO> list);

    PageResult<AccountBoundaryRespVO> convertPage(PageResult<AccountBoundaryDO> page);

    List<AccountBoundaryExcelVO> convertList02(List<AccountBoundaryDO> list);

    List<AccountBoundaryRespDTO> convertList03(List<AccountBoundaryDO> list);

}
